﻿using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Xml.Linq;
using AccesoDatos.Interfaces;
using Entidades;
using Recursos;

namespace AccesoDatos.Implementacion
{
    /// <summary>
    /// Clase que implementa IDaoUsuario para 
    /// </summary>
    class DaoUsuarioXml:IDaoUsuario
    {
        #region Implementation of IDaoUsuario

        /// <summary>
        /// Metodo que verifica los datos de un usuario
        /// </summary>
        /// <returns></returns>
        public bool VerificarUsuario(Usuario usuario)
        {
            bool retorno = false;
            try
            {
                if(usuario != null)
                {
                    string nodoPadre = ConfigurationManager.AppSettings[Strings.NodoPadreUsuario];
                    string nodoLogin = ConfigurationManager.AppSettings[Strings.NodoLogin];
                    string nodoPassword = ConfigurationManager.AppSettings[Strings.NodoPassword];
                    string ruta = ConfigurationManager.AppSettings[Strings.RutaXmlUsuario];

                    XElement xmlArch = XElement.Load(ruta);
                    List<Usuario> usuarios =
                        (from m in xmlArch.Descendants(nodoPadre)
                         where
                            ((string)m.Element(nodoLogin)).Equals(usuario.Login) &&
                            ((string)m.Element(nodoPassword)).Equals(usuario.Password)
                         select new Usuario
                         {
                             Login = (string)m.Element(nodoLogin),
                             Password = (string)m.Element(nodoPassword)
                         }).ToList();
                    if(usuarios.Count > 0)
                    {
                        retorno = true;
                    }
                }
            }
            catch (Exception)
            {
                
                
            }

            return retorno;
        }

        #endregion
    }
}
